package com.tencent.qf.team.service;

import com.tencent.qf.mybatis.pojo.PageRequest;
import com.tencent.qf.mybatis.pojo.PageResult;
import com.tencent.qf.team.dal.DmAppSalesOrganizationalPerformance;
import com.tencent.qf.team.dal.DmAppSalesPerformanceDetail;
import com.tencent.qf.team.dto.request.PerformanceSummaryByUidRequest;
import com.tencent.qf.team.dto.request.PerformanceSummaryOrganizationalHeaderDataRequest;
import com.tencent.qf.team.dto.request.PerformanceSummaryOrganizationalListRequest;
import com.tencent.qf.team.dto.request.PerformanceSummaryPersonalListRequest;
import com.tencent.qf.team.dto.request.PerformanceSummaryUserDetailRequest;
import com.tencent.qf.team.dto.response.PerformanceSummary;
import com.tencent.qf.team.dto.response.PerformanceSummaryPersonalListResponse;

import java.util.List;

public interface PerformanceSummaryService {
    /**
     * 数据-业绩汇总-个人业绩-列表
     *
     * @param request
     * @return
     */
    PageResult<PerformanceSummaryPersonalListResponse> personalList(PageRequest<PerformanceSummaryPersonalListRequest> request);

    /**
     * 数据-业绩汇总-组织业绩-列表
     *
     * @param request
     * @return
     */
    List<DmAppSalesOrganizationalPerformance> organizationalList(PerformanceSummaryOrganizationalListRequest request);

    /**
     * 数据-业绩汇总-组织业绩-头部展示数据
     *
     * @param request
     * @return
     */
    List<DmAppSalesOrganizationalPerformance> organizationalHeaderData(PerformanceSummaryOrganizationalHeaderDataRequest request);

    /**
     * 用户详情-收益订单数据
     *
     * @param request
     * @return
     */
    List<DmAppSalesPerformanceDetail> userDetail(PerformanceSummaryUserDetailRequest request);

    List<PerformanceSummary> queryUserPerformanceSummary(PerformanceSummaryByUidRequest request);

}
